<?php
namespace Home\Controller;
use Think\Controller;
class XmcsController extends Controller {
    public function index(){
        indexRvent();//测算首页执行事件
        cookie('orderidnum','Xmcs');
        $this->assign('titleName',titleName('Xmcs',1));//头部名称

        $channel=cookie('channel');

        indexRequest($_REQUEST);//测算首页接收数据处理

        if($_REQUEST['discountQczh']){//趣测综合页优惠
            cookie('discountQczh',$_REQUEST['discountQczh']);
        }

        //渠道获取ID
        $channelID=obtain_channelID('XM');
        $this->assign('channelID',$channelID);

        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);
        }else{
            cookie('wxlogin',1);

            if($_SERVER['HTTP_HOST']=='hy.yixueqm.com'){
                if($_REQUEST['openid']!=''){
                    cookie('openid',$_REQUEST['openid'],7100);
                    S('ticket',$_REQUEST['ticket'],7100);
                }
                $openid=cookie('openid');
                $wzurl=wxJsdkData();
                if(empty($openid)){
                    openidJump('Xmcs',cookie('channel'));
                }

                $noncestr=noncestr(15);
                $timestamp=time();
                $ticket= S('ticket');

                $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

                $this->assign('appid',cookie('APPID'));
                $this->assign('timestamp',$timestamp);
                $this->assign('noncestr',$noncestr);
                $this->assign('signature',$signature);
            }else{
                getToken();
                getTicket();
                $noncestr=noncestr(15);
                $timestamp=time();
                $ticket= S('ticket');
                $wzurl=wxJsdkData();
                $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

                $this->assign('appid',cookie('APPID'));
                $this->assign('timestamp',$timestamp);
                $this->assign('noncestr',$noncestr);
                $this->assign('signature',$signature);

                if(!empty($_REQUEST['code'])){
                    cookie('code',$_REQUEST['code'],7100);
                }
                getCode($wzurl);
                getOopenid();
            }
            wxShareUrl('XM','Xmcs');//分享地址获取
            cookie('uid',cookie('openid'));
        }

        if(cookie('jploginHC')==''){
            cnzz_pvuv('XM');//执行统计
            cookie('jploginHC',1,15);
            //姓名测算随机数
            csRandNum('xmcscs',300000,499999);
        }

        //半价
        $jieguoye=$_REQUEST['jieguoye'];
        banjia($jieguoye);


        $this->assign('channel',cookie('channel'));
        $this->assign('orderidnum','Xmcs');

        if(channelVivo($channel)){
            $this->display('Xmcs/ZM_XMCS_index_vivo');
        }else{
            $this->display('Xmcs/ZM_XMCS_index');
        }
    }
    public function xmcs_zhifu(){
        $this->assign('titleName',titleName('Xmcs',2));//头部名称
        $strData=mb_substr(cookie('orderid'),0,2);
        if($strData!='XM'){cookie('orderid',null);}

        cookie('timeStrto',time()+7200);//倒计时时间戳
        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);
        }else{
            cookie('wxlogin',1);
            $noncestr=noncestr(15);
            $timestamp=time();
            $ticket= S('ticket');
            $wzurl=wxJsdkData();
            $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

            $this->assign('appid',cookie('APPID'));
            $this->assign('timestamp',$timestamp);
            $this->assign('noncestr',$noncestr);
            $this->assign('signature',$signature);

        }
        cookie('orderidnum','Xmcs');

        if($_REQUEST['birthday']==''){
            $birthday='0-2018-08-08-8';
        }else{
            $birthday=$_REQUEST['birthday'];
        }

        if($_REQUEST['username']){//返回操作
//            cookie('znickname',I('post.userna').I('post.userme'));
//            cookie('CSnickname',I('post.userna').'.'.I('post.userme'));
            $userName=I('post.username');
            cookie('znickname',$userName);
            cookie('CSnickname',mb_substr($userName,0,1,'utf-8').'.'.mb_substr($userName,1,4,'utf-8'));
            if($_REQUEST['csName']=='bzjp'){//精批提交过来
                cnzz_pvuv('XM');//执行统计
            }else{
                cookie('zymd',mb_substr($birthday,2,10));
                cookie('zhour',mb_substr($birthday,13,2));
                cookie('zsex',$_REQUEST['gender']);
                cookie('datetype',mb_substr($birthday,0,1));
            }

        }
        if(!empty($_REQUEST['ordernum'])){//未支付订单
            $arrdata[0]=S('sm_h5test|'.$_REQUEST['ordernum']);
            $zymd=$arrdata[0]['year'].'-'.str_pad($arrdata[0]['month'],2,"0",STR_PAD_LEFT).'-'.str_pad($arrdata[0]['day'],2,'0',STR_PAD_LEFT);
            cookie('zymd',$zymd,604800);
            cookie('zhour',$arrdata[0]['hour'],604800);
            cookie('znickname',$arrdata[0]['username'],604800);
            cookie('zsex',$arrdata[0]['sex'],604800);
            cookie('datetype',$arrdata[0]['datetype']);

            cookie('orderid',$_REQUEST['ordernum']);
        }
        $y=mb_substr(cookie('zymd'),0,4);//年
        $m=mb_substr(cookie('zymd'),5,2); //月
        $d=mb_substr(cookie('zymd'),8,2);//日
        $zyinli=yinli($y,$m,$d);
        cookie('zyangli',$y.'年'.$m.'月'.$d.'日'.' '.cookie('zhour').'时',604800);//阳历
        cookie('zyinli',$zyinli[0].'年'.$zyinli[1].$zyinli[2],604800);//阴历


        $data=cookie('orderid');//获取订单号
        if(empty($data)&&empty($_REQUEST['ordernum'])){
            $orderid='XM'.date('Ymd').mt_rand(1000,9999).date('His');
            cookie('orderid',$orderid);
        }

        //创建订单
        $hour=cookie('zhour');if($hour=='')$hour=0;
        $shop=cookie('orderid');
        $znickname=cookie('CSnickname');if($znickname=='')$znickname='匿.名';
        $zsex=cookie('zsex');if($zsex=='')$zsex=1;
        $channel=cookie('channel');
        $imei=cookie('uid');if(cookie('uid')==''){$imei=cookie('imei');}
        $y=mb_substr(cookie('zymd'),0,4);//年
        $m=mb_substr(cookie('zymd'),5,2); //月
        $d=mb_substr(cookie('zymd'),8,2);//日
        $datetype=cookie('datetype');if($datetype=='')$datetype=0;
        $csName=$_REQUEST['csName'];
        defaultPrice();
        channelPay($channel,'XM');//查询渠道价格

        if(cookie('couponPrice')){//是否有使用优惠券
            cookie('price',cookie('couponPrice'));
            $this->assign('discount',10);//优惠券价格
        }else{
            $this->assign('discount',0);//优惠券价格
        }

        if(cookie('discountQczh')){//是否有趣测优惠券
            $price=cookie('price');
            cookie('price',$price/2);
            $remark='discountQczh';
        }

        csPay($znickname,$channel);//测试价格判断

        $price=cookie('price');
        if(empty($_REQUEST['ordernum'])){
//            $arrdata=M()->query("select id from sm_h5test where ordernum='{$shop}' limit 1");
//            if(empty($arrdata)){
//                M()->query("insert into sm_h5test (ordernum,price,username,typeid,sex,status,datetype,year,month,day,hour,paykind,appuserid,ip,channel,remark,date_remark)values(
//                                              '{$shop}','{$price}','{$znickname}',27,{$zsex},-1,{$datetype},{$y},{$m},{$d},{$hour},-1,'{$imei}','{$_SERVER['REMOTE_ADDR']}','{$channel}','{$csName}','{$remark}')");
//                $IndexController=A('Index');
//                $IndexController->subNumber('XM');
//            }
//            if(!cookie($_REQUEST['username'])){//返回操作
//                //更新订单
//                M()->query("update sm_h5test set username='{$znickname}',datetype='{$datetype}',year={$y},month={$m},day={$d},hour={$hour},sex={$zsex} where ordernum='{$shop}'");
//            }
            $arrdata=S('sm_h5test|'.$shop);
            if(empty($arrdata)){
                $smH5testinter=array(
                    'ordernum'=>$shop, 'price'=>$price, 'username'=>$znickname, 'typeid'=>27, 'sex'=>$zsex, 'createtime'=>date('Y-m-d H:i:m'),
                    'status'=>-1, 'datetype'=>$datetype, 'year'=>$y, 'month'=>$m, 'day'=>$d, 'hour'=>$hour, 'date_remark'=>$remark,
                    'appuserid'=>$imei, 'ip'=>$_SERVER['REMOTE_ADDR'], 'channel'=>$channel, 'auto_send_sms'=>0, 'place'=>0,
                );
                S('sm_h5test|'.$shop,$smH5testinter,2592000);//2592000为30天
                cacheZhiFuOrderid($shop);//支付页缓存订单操作

                $IndexController=A('Index');//Index控制器
                $IndexController->subNumber('XM');//提交订单次数统计
            }else if(!cookie($_REQUEST['username'])){//返回操作
                //更新订单
                $arrdata['username']=$znickname;$arrdata['datetype']=$datetype;
                $arrdata['year']=$y;$arrdata['month']=$m;$arrdata['day']=$d;$arrdata['sex']=$zsex;
                S('sm_h5test|'.$shop,$arrdata,2592000);//2592000为30天
            }
        }
        if(cookie('zsex')==1){$zsex='男';}else{$zsex='女';}
        zwmp(cookie('zymd'), cookie('zhour'),$zsex,'sizhu');
        $sizhu=I('globals.sizhu');
        $this->assign('sizhu',$sizhu);//Z四柱

        if($datetype==1){
            $this->assign('datetype',"农历 ".cookie('zyinli')." ".mb_substr($sizhu[3],1,1,'utf-8')."时");
        }else{
            $this->assign('datetype',"阳历 ".cookie('zyangli'));
        }

        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            if (strpos($user_agent, 'Windows') == true||strpos($user_agent,'Mac') == true) {
                //Windows 电脑访问
                if(channelSaoma($channel)){
                    $this->assign('pc',1);
                    $saomaUrl=wxsaoma('XM','姓名测算',cookie('orderid'));//微信扫码回调参数
                    $this->assign('wxsaoma',$saomaUrl);
                }
            }
        }else{
            $xml=wxgzhzf('XM','姓名测算',cookie('orderid'));//公众号支付回调参数
            $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
            $val = json_decode(json_encode($xmlstring),true);
            $noncestr=noncestr(15);//随机字符串
            $timestamp=time();//时间戳

            $stringA="appId=".cookie('APPID')."&nonceStr={$noncestr}&package=prepay_id={$val['prepay_id']}&signType=MD5&timeStamp={$timestamp}";
            $stringSignTemp=$stringA."&key=".cookie('wxKEY');
            $sign=strtoupper(md5($stringSignTemp));

            $this->assign('timeStamp',$timestamp);
            $this->assign('nonceStr',$noncestr);
            $this->assign('package','prepay_id='.$val['prepay_id']);
            $this->assign('signType','MD5');
            $this->assign('paySign',$sign);
            $this->assign('appId',cookie('APPID'));

        }
        $nameArr=explode('.',cookie('znickname'));
        cookie('znickname',$nameArr[0].$nameArr[1],604800);
        $yibiart=yibiArt(cookie('znickname'),901);//一笔艺术签名
        $this->assign('yibiart',$yibiart);

        $this->assign('csNameJump',U('Xmcs/jieguoye','',false).'?ordernum='.cookie('orderid'));//支付成功跳转地址

        $this->assign('channel',cookie('channel'));
        $this->assign('znickname',cookie('znickname'));
        $this->assign('channel',cookie('channel'));
        $this->assign('orderidnum',cookie('orderidnum'));
        $this->assign('wxlogin',cookie('wxlogin'));
        $this->assign('sex',cookie('zsex'));

        if(channelVivo($channel)){
            $this->display('Xmcs/ZM_XMCS_zhifu_vivo');
        }else{
            $this->display('Xmcs/ZM_XMCS_zhifu');
        }
    }
    public function jieguoye(){
        jieguoInterface();//结果页公共函数
        cookie('csTypePrice','158');
        $channel=cookie('channel');
        $this->assign('titleName',titleName('Xmcs',3));//头部名称
        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);
        }else{
            cookie('wxlogin',1);
            $this->assign('wxlogin',1);

            $noncestr=noncestr(15);
            $timestamp=time();
            $ticket= S('ticket');
            $wzurl=wxJsdkData();
            $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

            $this->assign('appid',cookie('APPID'));
            $this->assign('timestamp',$timestamp);
            $this->assign('noncestr',$noncestr);
            $this->assign('signature',$signature);
        }

        if(empty($_REQUEST['ordernum'])){
            $y=mb_substr(cookie('zymd'),0,4);//年
            $m=mb_substr(cookie('zymd'),5,2); //月
            $d=mb_substr(cookie('zymd'),8,2);//日
            $zyinli=yinli($y,$m,$d);
            cookie('zyangli',$y.'年'.$m.'月'.$d.'日'.' '.cookie('zhour').'时',604800);//阳历
            cookie('zyinli',$zyinli[0].'年'.$zyinli[1].$zyinli[2],604800);//阴历

            $zymd= cookie('zymd');
        }else{
            $ordernum=$_REQUEST['ordernum'];
            $arrdata[0]=jieguoyeArrData($ordernum);

            $zymd=$arrdata[0]['year'].'-'.str_pad($arrdata[0]['month'],2,"0",STR_PAD_LEFT).'-'.str_pad($arrdata[0]['day'],2,'0',STR_PAD_LEFT);
            cookie('zymd',$zymd,604800);
            cookie('zhour',$arrdata[0]['hour'],604800);
            cookie('CSnickname',$arrdata[0]['username']);
            $nameArr=explode('.',$arrdata[0]['username']);
            cookie('znickname',$nameArr[0].$nameArr[1],604800);
            cookie('zsex',$arrdata[0]['sex'],604800);

            $y=mb_substr(cookie('zymd'),0,4);//年
            $m=mb_substr(cookie('zymd'),5,2); //月
            $d=mb_substr(cookie('zymd'),8,2);//日
            $hour=cookie('zhour');
            $zyinli=yinli($y,$m,$d);
            cookie('zyangli',$y.'年'.$m.'月'.$d.'日'.' '.cookie('zhour').'时',604800);//阳历
            cookie('zyinli',$zyinli[0].'年'.$zyinli[1].$zyinli[2],604800);//阴历

            $zymd= cookie('zymd');
            cookie('orderid',$arrdata[0]['ordernum'],604800);
        }




        //一对一亲算下单
        $QSorder=new \Library\toolOrder();
        $wxzhifuArr=$QSorder->QSorderXD();
        if($wxzhifuArr==1){
            $this->assign('qsPay',1);
        }else{//更新数据hu
            if (strpos($user_agent, 'MicroMessenger') == false) {
                //非微信浏览器访问
            }else{
                $this->assign('timeStamp',$wxzhifuArr['timeStamp']);
                $this->assign('nonceStr',$wxzhifuArr['nonceStr']);
                $this->assign('package',$wxzhifuArr['package']);
                $this->assign('signType',$wxzhifuArr['signType']);
                $this->assign('paySign',$wxzhifuArr['paySign']);
                $this->assign('appId',$wxzhifuArr['appId']);
            }
        }


        if(cookie('zsex')==1){
            $zsex='男';
        }else{
            $zsex='女';
        }
        if($zymd!=''){
            zwmp($zymd,cookie('zhour'),$zsex,'zw');
            $this->assign('shengxiao',I('globals.shengxiao'));//生肖
            $this->assign('sizhu',I('globals.sizhu'));//Z四柱
            $ssarray=array();
            array_push($ssarray,implode(I('globals.nianzhuss')));
            array_push($ssarray,implode(I('globals.yuezhuss')));
            array_push($ssarray,implode(I('globals.shizhuss')));
            $this->assign('nianzhuss',$ssarray);//十神
            $this->assign('canggan',I('globals.canggan'));//藏干
            $this->assign('zhishen',I('globals.zhishen'));//支神
            $this->assign('sizhuny',I('globals.sizhuny'));//四柱纳音
            $this->assign('bzdishi',I('globals.bzdishi'));//八字地势
            $this->assign('wxsqs',I('globals.wxsqs'));//旺相休囚死
            $this->assign('xiys',I('globals.xiys'));//喜用神
            $this->assign('taiyuan',I('globals.taiyuan'));//胎元
            $this->assign('rikong',I('globals.rikong'));//日空
            $this->assign('dayun',I('globals.dayun'));//大运
            $this->assign('dayunx',I('globals.dayunx'));//大运x
            $this->assign('dayuny',I('globals.dayuny'));//大运y
            $this->assign('dayungz',I('globals.dayungz'));//大运干支
            $this->assign('dayunss',I('globals.dayunss'));//大运十神
            $this->assign('jieqiname',cookie('jieqiname'));//节气名称

            fortune(I('globals.shengxiao'),I('globals.bzrizhu'));
            $this->assign('shortcoming',I('globals.shortcoming'));//生肖缺点
            $this->assign('shengxiaosh',I('globals.shengxiaosh'));//生肖三合
            wuxing_healthy(I('globals.xiys'));
            $this->assign('cause',I('globals.wuxing'));//事业喜用神

            $zhanxing=new \Library\ZhanXing();
            $constellation=$zhanxing->constellation($m,$d);//获取星座

            $dataYearType=cookie('dataYearType');//2021标识
            if($dataYearType){
                $lnyuncheng2019=lnyuncheng2019($zymd,I('globals.dayun'),I('globals.dayunss'),$constellation,$hour,$dataYearType);
            }else{
                $dataYearType=2020;
                $lnyuncheng2019=lnyuncheng2019($zymd,I('globals.dayun'),I('globals.dayunss'),$constellation,$hour);
            }
            $this->assign('yearName',$dataYearType);

            $lnyuncheng2019['yunshi']=str_replace('2019',$dataYearType,$lnyuncheng2019['yunshi']);
            $this->assign('lnyuncheng2019',$lnyuncheng2019);//2019流年运程
            $this->assign('datacolor',I('globals.datacolor'));//数字颜色


            $nameArr=explode('.',cookie('CSnickname'));
            $xing=$nameArr[0];
            $ming=$nameArr[1];
            $this->assign('nickname',$xing.$ming);
            $Trans = new \Library\Trans();
            $fxing=$Trans->c2t($xing);//转繁体
            $fming=$Trans->c2t($ming);
            $this->assign('fnickname',$fxing.$fming);


            $bihua=xingmingZft($fxing,$fming);//获取笔画
            $this->assign('bihua',$bihua);//笔画

            xmcs($zymd,cookie('zhour'));
            $this->assign('trdwz',I('globals.trdwz'));//天人地外总
            $this->assign('sancai',I('globals.sancai'));//三才配置
            $this->assign('hudongGX',I('globals.hudongGX'));//互动关系
            $this->assign('fraction',I('globals.fraction'));//评分
            $this->assign('shuliJX',I('globals.shuliJX'));//五格数理解析
            $this->assign('luckHua',I('globals.luckHua'));//幸运花
            $this->assign('luckshitou',I('globals.luckshitou'));//幸运石头

            $yibiart=yibiArt(cookie('znickname'),901);//一笔艺术签名
            $yibiartx=yibiArt(cookie('znickname'),905);//一笔商务签
            $yibiarty=yibiArt(cookie('znickname'),5);//签名字体
            $this->assign('yibiart',$yibiart);
            $this->assign('yibiartx',$yibiartx);
            $this->assign('yibiarty',$yibiarty);
            if($yibiarty){$this->assign('qianming',1);
            }else{$this->assign('qianming',0);}
        }

        $this->assign('channel',cookie('channel'));
        $this->assign("orderidnum",'Xmcs');
        $this->assign('sex',cookie('zsex'));


        if(channelVivo($channel)){
            $this->display('Xmcs/ZM_XMCS_jieguoye_vivo');
        }else{
            $this->display('Xmcs/ZM_XMCS_jieguoye');
        }

    }

    public function pay(){//支付宝支付
        $this->assign('ordername1','姓名测算');
        $this->assign('ordername2','知命-姓名测算');
        $this->display("Index/pay");
    }
    public function zzhifu(){
        $data=M()->query("select status from sm_h5test where ordernum='".cookie('orderid')."'");
        $this->assign('status',$data[0]['status']);
        $this->display("Index/ZM_zzhifu");
    }
    public function paywx(){//H5微信支付
        //H5wxzhifu('XM','姓名测算',cookie('orderid'));
        H5ZMwxzhifu('XM','姓名测算',cookie('orderid'),'Xmcs');//知命
    }

    public function lianshangZF(){//连尚支付
        //lianshangZF('姓名测算',cookie('orderid'));
    }

    public function cs(){
        $this->display("Xmcs/cs");
    }


}